package com.woniu.bean;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.UUID;


/*
*
 DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`  (
  `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_name` varchar(30)  COMMENT '姓名',
  `user_age` int  COMMENT '年龄',
  `user_email` varchar(50)  COMMENT '邮箱',
  `user_date_time` datetime COMMENT '生日',
  `is_delete` int COMMENT '是否删除;1删除;0未删除',
  PRIMARY KEY (`user_id`)
) ;

-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, 'Jone', 18, 'test1@baomidou.com', '2023-02-23 00:45:57', 0);
INSERT INTO `users` VALUES (2, 'Jack', 20, 'test2@baomidou.com', '2023-02-02 00:46:01', 0);
INSERT INTO `users` VALUES (3, 'Tom', 28, 'test3@baomidou.com', '2023-02-19 00:46:04', 0);
INSERT INTO `users` VALUES (4, 'Sandy', 21, 'test4@baomidou.com', '2023-02-24 00:46:07', 0);
INSERT INTO `users` VALUES (5, 'Billie', 24, 'test5@baomidou.com', '2023-02-18 00:46:13', 1);


* */

// 它其实很单纯，它就是一个简单的实体类，对应一张表
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@TableName("users")  // 表：users -》 TableName解决表和类之间的映射  -> 类：User  。 阿里巴巴开发规范里面的第四章78页。
@ToString
public class User {

    // 用户的编号   列名user_id  , 属性名id
    // 修改id策略，不用自增，要用雪花算法生成id
    // 修改id策略，不用自增，要用uuid - 》b36753f2def74675d6f94441de62d48d
    @TableField("user_id") @TableId(value = "user_id" , type = IdType.AUTO) private Long id;

    // 用户的姓名
    @TableField("user_name") private String name;

    // 用户的年龄
    @TableField("user_age") private Integer age;

    // 用户的邮箱
    @TableField("user_email") private String email;

    // 用户的生日
    @TableField("user_date_time") private Date birthday;

    // 是否删除;1删除,0未删除
    // TableLogic标识字段为逻辑删除1代表删除。查询的时候自动会做处理
    @TableField("is_delete") @TableLogic private Integer del = 0;


    // 告诉mp排除掉不做映射
/*    @TableField(exist = false)
    private List<Orders> orders;*/

    // 业务性质的，它和实体类无关。把它从这个类去掉。
//    private 物流信息 xxx;
}